package com.xigua._数学;

import java.util.ArrayList;
import java.util.List;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: 自除数 是指可以被它包含的每一位数整除的数。
 *例如，128 是一个 自除数 ，因为 128 % 1 == 0，128 % 2 == 0，128 % 8 == 0。
 *自除数 不允许包含 0 。
 *给定两个整数 left 和 right ，返回一个列表，列表的元素是范围 [left, right] 内所有的 自除数 。
 *
 *
 * @date 2022/3/3110:48
 */
public class _728_自除数 {


    public List<Integer> selfDividingNumbers(int left, int right) {
        List<Integer> ans = new ArrayList<>();
        for (int i = left; i <= right; i++) {
            if (isSelfDividngNum(i))ans.add(i);
        }
        return ans;
    }

    boolean isSelfDividngNum(int i){
        int a = i;
        while (a>0){
            int b = a%10;
            if (b == 0 || i%b != 0) return false;
            a = a/10;
        }
        return true;
    }

}
